package com.mrlv.ht.mapper;

import com.mrlv.ht.pojo.ModuLe;
import com.mrlv.ht.pojo.ModuLeExample;
import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;

/**
 * 3.0采用通用mapper，只需要继承其接口即可
 */
public interface ModuLeMapper extends SysMapper<ModuLe>{
	
	int deleteBatch(String[] ModuLeId);
	int updateBatch1(String[] ModuLeId);
	int updateBatch0(String[] ModuLeId);
	
	/**	1.0方法一
	@Select("select * from module_p")
	@ResultMap("moduleRM")
	List<ModuLe> findAll();
	 */
	
	
	/** 2.0方法二
	 * 注解里有两个属性 type 和 method 
	 * type要求传入一个class类型，method指定这个类里的某一个方法，实际上要求这个方法返回的是一个sql语句。 
	@SelectProvider(type=ModuleMapperProvider.class,method="findAll")
	public List<ModuLe> findAll();
	 */
	
	
	/**
	 * @Insert注解，用法实际上就和xml里写sql语句一样，取值的思想也相同，本例中，就是从传进来的User对象
	 * 来取值的，所以要注意取值的名字要和对象的私有属性名一致
	 */
	@Insert("insert into module_p(module_id,parent_id,name,ctype,remark) "
			+ "values (#{moduleId},#{parentId},#{name},#{ctype},#{remark})")
	void insert1(ModuLe record);
	
    int countByExample(ModuLeExample example);

    int deleteByExample(ModuLeExample example);

    int deleteByPrimaryKey(String moduleId);

    int insert(ModuLe record);

    int insertSelective(ModuLe record);

    List<ModuLe> selectByExample(ModuLeExample example);

    ModuLe selectByPrimaryKey(String moduleId);

    int updateByExampleSelective(@Param("record") ModuLe record, @Param("example") ModuLeExample example);

    int updateByExample(@Param("record") ModuLe record, @Param("example") ModuLeExample example);

    int updateByPrimaryKeySelective(ModuLe record);

    int updateByPrimaryKey(ModuLe record);
}